;*******************************************************************************
; Director - Menus
;
; Copyright (C) 2002, Nick Craig-Wood and the RISC OS Director Developers
;
;This program is free software; you can redistribute it and/or modify it under
;the terms of the GNU General Public License as published by the Free Software
;Foundation; either version 2 of the License, or (at your option) any later
;version.
;
;This program is distributed in the hope that it will be useful, but WITHOUT ANY
;WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
;PARTICULAR PURPOSE. See the GNU General Public License for more details.
;
;You should have received a copy of the GNU General Public License along with
;this program; if not, write to the Free Software Foundation, Inc., 59 Temple
;Place - Suite 330, Boston, MA 02111-1307, USA
;
;*******************************************************************************
;----h- Director.h.Menus
; Name
;   Menus
;
; Purpose
;   Menus
;------
;*******************************************************************************

;*******************************************************************************
;Functions
;*******************************************************************************

		[	:LNOT: :DEF: |s.menus|
		IMPORT	ClaimMediaUpCalls
		IMPORT	ReleaseMediaUpCalls
		IMPORT	FileMenuCreate
		IMPORT	FileMenuUp
		IMPORT	FileSprite
		IMPORT	IfFileMakeUp
		IMPORT	LoadAddrToType
		IMPORT	LookUpKey
		IMPORT	MenuAddFileItem
		IMPORT	MenuAddGreyItem
		IMPORT	MenuAddPathItem
		IMPORT	MenuAddTextItem
		IMPORT	MenuBlockCreate
		IMPORT	MenuBlockDestroy
		IMPORT	MenuBlockFind
		IMPORT	MenuBlockForDisplay
		IMPORT	MenuBlockListClear
		IMPORT	MenuBlockListDestroy
		IMPORT	MenuInitialise
		IMPORT	MenuItemEnd
		IMPORT	MenuItemStart
		IMPORT	MenuStringsRelocate
		IMPORT	MenuUnderlineItem
		IMPORT	PathParse
		IMPORT	PathToLeafAndType
		IMPORT	SetCurrentPath
		IMPORT	SetVarVal
		IMPORT	SetVarValN
		IMPORT	StringCopy
		IMPORT	StringCreate
		IMPORT	StringFindMark
		IMPORT	StringMark
		IMPORT	UnsetVarVal
		]

;*******************************************************************************
;Data structures
;*******************************************************************************

			^	0
StringBlock_buffer	#	4			;pointer to strings block
StringBlock_buffer_old	#	4			;old pointer to strings block
StringBlock_size	#	4			;size of allocated strings block
StringBlock_offset	#	4			;pointer to current position in block
StringBlock		EQU	:INDEX: @

			^	0
MenuBlock_link		#	4
MenuBlock_name		#	4
MenuBlock_temporary	#	4			;whether menu is temporary or permanent
MenuBlock_entries	#	4			;number of entries in the menu
MenuBlock_height	#	4
MenuBlock_menu		#	StringBlock
MenuBlock_strings	#	StringBlock
MenuBlock_keys		#	4
MenuBlock_key_defs	#	StringBlock
MenuBlock		EQU	:INDEX: @

			^	0
KeyBlock_key		#	4
KeyBlock_entry		#	4
KeyBlock		EQU	:INDEX: @

;*******************************************************************************
		END
